package com.ict.web.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ict.common.annotation.Excel;
import com.ict.web.controller.file.domain.YzqFile;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * @author xc
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MilestoneInformationDto {
    /** 里程碑id */
    @ApiModelProperty(value = "里程碑id")
    @TableId(value = "milepost_id",type = IdType.ASSIGN_ID)
    private Long milepostId;

    /** 里程碑名称 */
    @Excel(name = "里程碑名称")
    @ApiModelProperty(value = "里程碑名称")
    private String milestoneName;

    /** 计划完成时间 */
    @ApiModelProperty(value = "计划完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plannedCompletionTime;

    /** 实际完成时间 */
    @ApiModelProperty(value = "实际完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualCompletionTime;

    /** 完成标准 */
    @Excel(name = "完成标准")
    @ApiModelProperty(value = "完成标准")
    private String completionCriteria;

    /** 附件 */
    @Excel(name = "附件")
    @ApiModelProperty(value = "附件")
    private YzqFile enclosure;

    /** 删除标识（0：正常，1：删除） */
    private String delFlag;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

}
